home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000583_dsr@hplb.hpl.hp.com _Tue Jan 19 16:43:10 1993.msg < prev    next >
Internet Message Format  |  1994-01-24  |  5KB

  1. Return-Path: <dsr@hplb.hpl.hp.com>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA21788; Tue, 19 Jan 93 16:43:10 MET
  4. Received: by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  5.     id AA00276; Tue, 19 Jan 1993 16:58:24 +0100
  6. Received: from dragget.hpl.hp.com by hplb.hpl.hp.com; Tue, 19 Jan 93 15:55:00 GMT
  7. Received: by manuel.hpl.hp.com
  8.     (16.6/15.6+ISC) id AA05466; Tue, 19 Jan 93 15:59:36 GMT
  9. From: Dave_Raggett <dsr@hplb.hpl.hp.com>
  10. Message-Id: <9301191559.AA05466@manuel.hpl.hp.com>
  11. Subject: QueryForms and Input tag
  12. To: www-talk@nxoc01.cern.ch
  13. Date: Tue, 19 Jan 93 15:59:34 GMT
  14. Mailer: Elm [revision: 66.25]
  15.  
  16. Dan, I have some further suggestions for <queryform> which would greatly
  17. broaden the opportunities for html interfaces to databases.
  18.  
  19. Let me know if you want me to see how these additions can be formalised
  20. within your DTD, as I know you are being kept rather busy.
  21.  
  22. --------------
  23.  
  24. (in: Dan Connolly Tue, 19 Jan 93 Re: INPUT tag - was: Searching)
  25.  
  26.     The client C sends GET foo to server S. S returns:
  27.  
  28.     <HEAD>
  29.       <TITLE>Search Template</TITLE>
  30.       <QUERYFORM base="medibase">diagnose condition where age is
  31.         <recall name="age">and symptoms includes (<if name="headache">
  32.         headache</if><if name="blackouts">blackouts</if>)
  33.       </QUERYFORM>
  34.     </HEAD>
  35.     <BODY>
  36.       How old are you? <input name="age" type="number"
  37.       width="5" help="http:s/help/inputs#age">
  38.       <P>
  39.       Do you have any of the following symptoms?
  40.       <UL>
  41.         <LI>headache? <input name="headache" type="boolean" width="3">
  42.         <LI>blackouts? <input name="blackouts" type="boolean" width="3">
  43.       </UL>
  44.  
  45. I like the idea, and am glad to see people are now taking an interest in html
  46. and forms. Study of related projects suggests you need several things:
  47.  
  48. A variety of input fields:
  49.  
  50.     o   checkbox (boolean)
  51.     o   text field
  52.     o   numeric field (integer and floating point)
  53.     o   radio-button groups
  54.     o   one-from-many menu
  55.     o   n-from-m menu
  56.  
  57. Summarising what you suggest above:
  58.  
  59.     <input name=FIELDNAME type=FIELDTYPE [width=FIELDWIDTH] [help=HELPUDI]>
  60.  
  61.     FIELDNAME is a unique identifier for this form
  62.     FIELDTYPE ::= "boolean" | "text" | "integer" | "float"
  63.  
  64.     The [ ] brackets denote optional attributes.
  65.     
  66. The width can be optional, since the browser can support sideways scrolling
  67. of the input field when the entry exceeds the current display width.
  68.  
  69. Multiple choice items need a richer structure, e.g.
  70.  
  71.     <select name=FIELDNAME type=CHOICETYPE [value=VALUE] [help=HELPUDI]>
  72.         <choice>item 1
  73.         <choice>item 2
  74.         <choice>item 3
  75.     </select>
  76.  
  77.     CHOICETYPE ::= "radio" | "single" | "multiple"
  78.  
  79. The choice initially shown is given by the value attribute for the <select>
  80. token, defaulting to the first choice. The value returned is the item text
  81. unless a "value" attribute is defined for that <choice>.
  82.  
  83.     <choice value=VALUETEXT>
  84.  
  85. I think that <a> tags should be permissible for <choice> text so that you can
  86. provide further explanations upon request for each choice. If there isn't a
  87. value attribute then the displayable text for the anchor would form part of
  88. that choice in the obvious manner.
  89.  
  90. It is also useful to distinguish form decorations from output fields. I think
  91. this can be adequately handled using the existing emphasis tags though.
  92.  
  93. How will the <queryform> tag take over from the <ISINDEX> mechanism? Right
  94. now, the browser provides an input field and search button, but I assume that
  95. in future, searchable documents will use the queryform approach instead.
  96.  
  97. Forms generally involve additional ideas:
  98.  
  99.     a)  expressions and queries for output fields
  100.  
  101.     b)  edits (constraints) on input field values
  102.  
  103.     c)  dependencies between fields
  104.  
  105. These can all be handled by the server, albeit with a performance penalty as
  106. perceived by the user.
  107.  
  108. It is important to be able to show the current values as currently being in
  109. error (along with an explanation). For example you could have a form for
  110. configuring a computer system, which gives you choices for the number of hard
  111. and soft drives:
  112.  
  113.    ---------------------------------------------------------------------------
  114.        *  Fixed Drive(s): [2 x 512 Gb disk]
  115.        *  Soft Drive(s):  [1 x 1.44 Mb 3.5" floppy]
  116.  
  117.    (*) Error: you are only allowed a combined total of 2 fixed and soft drives
  118.    ---------------------------------------------------------------------------
  119.  
  120. So we need to provide attributes to:
  121.  
  122.     a)  signify that the current choice is in error in some way
  123.     b)  that a given choice is not currently permissible (grayed out)
  124.  
  125. This can be done with two attributes (both default to "yes"):
  126.  
  127.     ok="yes" | "no"             ;;  for <input> and <select>
  128.     enabled="yes" | "no"        ;;  for <choice>
  129.  
  130.  
  131. Best wishes
  132.  
  133. Dave Raggett